#ifndef DENIS_H
#define DENIS_H

#define db_config_filename "db.config"

#include <QObject>
#include <QtGui>



//#include <QtSql/QMYSQLDriver>

class Denis : public QObject
{
    Q_OBJECT
public:
    explicit Denis(QObject *parent = 0);
    void SelectDir(QWidget *, QTreeView *, QTextEdit *, int);
    const QString* getRootDirPath(int InOrOut);

    static bool keyring();
    void keyring_load();
    static void keyring_erase();
    static QString keyring_dialog();
    const QString* getDataBaseUserName();

    static QString ip_dialog();
    static bool ip_check(QString IP);

    void buildFileList(QStringList &, int InOrOut);
    void printFileList(QStringList &, QTextEdit *Log);
    //const QStringList* getFileList();
    int showFileSystemWarnings(QStringList &FileList, int out, int del);
    int ApplyChangesToFileSystem(QStringList &Root, QStringList &FileList, int out, int del);
    /** @brief Функція повертає реакцію користувача на зміни в ФС. 1 - згода, 0 - ні, -1 - помилка переданих параметрів */
    void FileCopy(QString,QString);
    void FileMove(QString,QString);
    void FileDel(QString in);
private:
    void FileListBulder(QString dir, QStringList &out, int len);

    static QStringList db_keys;
    static QString Dir[2];
    //static QStringList FileList;

signals:

private slots:

};

#endif // DENIS_H
